﻿Imports TransportadoraToledoBLL
Imports System.Windows.Forms
Public Class frm_movimentacao_escalaoperacoes


#Region "Métodos e Variáveis"

    Dim linha As DataRow
    Dim tab As New DataTable
    Public objBLL As New EntregasBLL


    Sub limparFormulario()
        txtAlmoco.Text = ""
        txtJantar.Text = ""
        txtCodEntrega.Text = ""
        txtCodLotacao.Text = ""
        txtRetorno.Text = ""
        txtEntrega.Text = ""
        txtCombustiveis.Text = ""
        txtStatusEntrega.Text = ""
        txtSubTotalPessoal.Text = ""
        txtSubTotalVeiculo.Text = ""
        txtDiversos.Text = ""
        txtDescricaoDiversos.Text = ""
        txtKMChegada.Text = ""
        txtKMPercorrido.Text = ""
        txtConserto.Text = ""
        txtKMSaida.Text = ""
        txtHotel.Text = ""
        txtPedagio.Text = ""

    End Sub

    Sub carregaFormulario()
        txtAlmoco.Text = objBLL.pAlmoco.ToString()
        txtJantar.Text = objBLL.pJantar.ToString()
        txtCodEntrega.Text = objBLL.pCodigo.ToString()
        txtCodLotacao.Text = objBLL.pLotacao.ToString()
        txtRetorno.Text = objBLL.pDataRetorno.ToString()
        txtEntrega.Text = objBLL.pDataEntrega.ToString()
        txtCombustiveis.Text = objBLL.pCombustivel.ToString()
        txtStatusEntrega.Text = objBLL.pStatus.ToString()
        txtSubTotalPessoal.Text = objBLL.pSubTotalMotorista.ToString()
        txtSubTotalVeiculo.Text = objBLL.pSubTotalVeiculo.ToString()
        txtDiversos.Text = objBLL.pOutros.ToString()
        txtDescricaoDiversos.Text = objBLL.pDescricaoOutros.ToString()
        txtKMChegada.Text = objBLL.pKmChegada.ToString()
        txtKMPercorrido.Text = objBLL.pKmPercorrido.ToString()
        txtConserto.Text = objBLL.pConserto.ToString()
        txtKMSaida.Text = objBLL.pKmSaida.ToString()
        txtHotel.Text = objBLL.pHotel.ToString()
        txtPedagio.Text = objBLL.pPedagio.ToString()
    End Sub

    Sub carregaPropriedades()
        objBLL = New EntregasBLL
        If (txtAlmoco.Text = "") Then
            objBLL.pAlmoco = 0
        Else
            objBLL.pAlmoco = Double.Parse(txtAlmoco.Text)
        End If

        If (txtJantar.Text = "") Then
            objBLL.pJantar = 0
        Else
            objBLL.pJantar = Double.Parse(txtJantar.Text)
        End If

        objBLL.pLotacao = Integer.Parse(txtCodLotacao.Text)

        objBLL.pDataRetorno = Date.Parse(txtRetorno.Text)
        objBLL.pDataEntrega = Date.Parse(txtEntrega.Text)

        If (txtCombustiveis.Text = "") Then
            objBLL.pCombustivel = 0
        Else
            objBLL.pCombustivel = Double.Parse(txtCombustiveis.Text)
        End If

        objBLL.pStatus = "Finalizado"

        If (txtSubTotalPessoal.Text = "") Then
            objBLL.pSubTotalMotorista = 0
        Else
            objBLL.pSubTotalMotorista = Double.Parse(txtSubTotalPessoal.Text)
        End If

        If (txtSubTotalVeiculo.Text = "") Then
            objBLL.pSubTotalVeiculo = 0
        Else
            objBLL.pSubTotalVeiculo = Double.Parse(txtSubTotalVeiculo.Text)
        End If

        If (txtDiversos.Text = "") Then
            objBLL.pOutros = 0
        Else
            objBLL.pOutros = Double.Parse(txtDiversos.Text)
        End If

        objBLL.pDescricaoOutros = txtDescricaoDiversos.Text

        If (txtKMChegada.Text = "") Then
            objBLL.pKmChegada = 0
        Else
            objBLL.pKmChegada = Integer.Parse(txtKMChegada.Text)
        End If

        If (txtKMPercorrido.Text = "") Then
            objBLL.pKmPercorrido = 0
        Else
            objBLL.pKmPercorrido = Integer.Parse(txtKMPercorrido.Text)
        End If

        If (txtConserto.Text = "") Then
            objBLL.pConserto = 0
        Else
            objBLL.pConserto = Double.Parse(txtConserto.Text)
        End If

        If (txtKMSaida.Text = "") Then
            objBLL.pKmSaida = 0
        Else
            objBLL.pKmSaida = Integer.Parse(txtKMSaida.Text)
        End If

        If (txtHotel.Text = "") Then
            objBLL.pHotel = 0
        Else
            objBLL.pHotel = Double.Parse(txtHotel.Text)
        End If

        If (txtPedagio.Text = "") Then
            objBLL.pPedagio = 0
        Else
            objBLL.pPedagio = Double.Parse(txtPedagio.Text)
        End If

    End Sub
    Sub Status(ByVal status As Boolean)

        txtAlmoco.ReadOnly = status
        txtJantar.ReadOnly = status
        txtRetorno.ReadOnly = status
        txtEntrega.ReadOnly = status
        txtCombustiveis.ReadOnly = status
        txtDiversos.ReadOnly = status
        txtKMChegada.ReadOnly = status
        txtDescricaoDiversos.ReadOnly = True
        txtConserto.ReadOnly = status
        txtKMSaida.ReadOnly = status
        txtHotel.ReadOnly = status
        txtPedagio.ReadOnly = status
        dgConteudo.Enabled = Not status
        btFinalizar1.Enabled = Not status
        btFinalizarPessoal.Enabled = Not status
        btFinalizarVeiculo.Enabled = Not status
    End Sub


    Sub limpar()
        tab.Rows.Clear()
        tab.Clear()
        tab.AcceptChanges()
    End Sub


   

   


#End Region


    Private Sub TabControl2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl2.SelectedIndexChanged
        If (TabControl2.SelectedIndex = 0) Then
            Me.Size = New Size(582, 646)
        ElseIf (TabControl2.SelectedIndex = 1) Then
            Me.Size = New Size(582, 379)
        Else
            Me.Size = New Size(582, 389)
        End If

    End Sub

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btSair.Click
        Me.Close()
    End Sub

    Private Sub TextBox14_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCombustiveis.KeyPress
        If Asc(e.KeyChar) = 3 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 22 Or Asc(e.KeyChar) = 24 Or Asc(e.KeyChar) = 44 Then
            Exit Sub
        End If

        If Not Char.IsNumber(e.KeyChar) Then
            e.Handled = True
        End If




    End Sub

    Private Sub txtPedagio_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPedagio.KeyPress
        If Asc(e.KeyChar) = 3 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 22 Or Asc(e.KeyChar) = 24 Or Asc(e.KeyChar) = 44 Then
            Exit Sub
        End If

        If Not Char.IsNumber(e.KeyChar) Then
            e.Handled = True
        End If


    End Sub

    Private Sub txtConserto_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtConserto.KeyPress
        If Asc(e.KeyChar) = 3 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 22 Or Asc(e.KeyChar) = 24 Or Asc(e.KeyChar) = 44 Then
            Exit Sub
        End If

        If Not Char.IsNumber(e.KeyChar) Then
            e.Handled = True
        End If


    End Sub

    
    Private Sub txtCombustiveis_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtCombustiveis.KeyUp
        Dim valorCombustivel, valorPedagio, valorConserto, valor As Double
        If (txtCombustiveis.Text <> "") Then
            valorCombustivel = Double.Parse(txtCombustiveis.Text)
        Else
            valorCombustivel = 0
        End If

        If (txtPedagio.Text <> "") Then
            valorPedagio = Double.Parse(txtPedagio.Text)
        Else
            valorPedagio = 0
        End If

        If (txtConserto.Text <> "") Then
            valorConserto = Double.Parse(txtConserto.Text)
        Else
            valorConserto = 0
        End If

        valor = valorCombustivel + valorConserto + valorPedagio

        If (valor <> 0) Then
            txtSubTotalVeiculo.Text = valor.ToString()
        Else
            txtSubTotalVeiculo.Text = ""
        End If
    End Sub

    Private Sub txtPedagio_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtPedagio.KeyUp
        Dim valorCombustivel, valorPedagio, valorConserto, valor As Double
        If (txtCombustiveis.Text <> "") Then
            valorCombustivel = Double.Parse(txtCombustiveis.Text)
        Else
            valorCombustivel = 0
        End If

        If (txtPedagio.Text <> "") Then
            valorPedagio = Double.Parse(txtPedagio.Text)
        Else
            valorPedagio = 0
        End If

        If (txtConserto.Text <> "") Then
            valorConserto = Double.Parse(txtConserto.Text)
        Else
            valorConserto = 0
        End If

        valor = valorCombustivel + valorConserto + valorPedagio

        If (valor <> 0) Then
            txtSubTotalVeiculo.Text = valor.ToString()
        Else
            txtSubTotalVeiculo.Text = ""
        End If
    End Sub

    Private Sub txtConserto_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtConserto.KeyUp
        Dim valorCombustivel, valorPedagio, valorConserto, valor As Double
        If (txtCombustiveis.Text <> "") Then
            valorCombustivel = Double.Parse(txtCombustiveis.Text)
        Else
            valorCombustivel = 0
        End If

        If (txtPedagio.Text <> "") Then
            valorPedagio = Double.Parse(txtPedagio.Text)
        Else
            valorPedagio = 0
        End If

        If (txtConserto.Text <> "") Then
            valorConserto = Double.Parse(txtConserto.Text)
        Else
            valorConserto = 0
        End If

        valor = valorCombustivel + valorConserto + valorPedagio

        If (valor <> 0) Then
            txtSubTotalVeiculo.Text = valor.ToString()
        Else
            txtSubTotalVeiculo.Text = ""
        End If
    End Sub

    Private Sub txtKMSaida_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtKMSaida.KeyPress
        If Asc(e.KeyChar) = 3 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 22 Or Asc(e.KeyChar) = 24 Then
            Exit Sub
        End If

        If Not Char.IsNumber(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

    Private Sub txtKMChegada_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtKMChegada.KeyPress
        If Asc(e.KeyChar) = 3 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 22 Or Asc(e.KeyChar) = 24 Then
            Exit Sub
        End If

        If Not Char.IsNumber(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

    Private Sub txtKMChegada_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtKMChegada.KeyUp
        Dim kmsaida, kmchegada, kmfinal As Integer

        If (txtKMSaida.Text <> "") Then
            kmsaida = Integer.Parse(txtKMSaida.Text)
        Else
            kmsaida = 0
        End If

        If (txtKMChegada.Text <> "") Then
            kmchegada = Integer.Parse(txtKMChegada.Text)
        Else
            kmchegada = 0
        End If

        kmfinal = kmchegada - kmsaida
        If (kmfinal <> 0 And kmfinal > 0 And txtKMSaida.Text <> "") Then
            txtKMPercorrido.Text = kmfinal.ToString
        Else
            txtKMPercorrido.Text = ""
        End If
    End Sub

    Private Sub txtKMSaida_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtKMSaida.KeyUp
        Dim kmsaida, kmchegada, kmfinal As Integer

        If (txtKMSaida.Text <> "") Then
            kmsaida = Integer.Parse(txtKMSaida.Text)
        Else
            kmsaida = 0
        End If

        If (txtKMChegada.Text <> "") Then
            kmchegada = Integer.Parse(txtKMChegada.Text)
        Else
            kmchegada = 0
        End If

        kmfinal = kmchegada - kmsaida
        If (kmfinal <> 0 And kmfinal > 0 And txtKMSaida.Text <> "") Then
            txtKMPercorrido.Text = kmfinal.ToString
        Else
            txtKMPercorrido.Text = ""
        End If
    End Sub

    Private Sub txtKMChegada_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKMChegada.Leave
        If (txtKMChegada.Text <> "" And txtKMSaida.Text <> "") Then
            If (Integer.Parse(txtKMChegada.Text) <= Integer.Parse(txtKMSaida.Text)) Then
                MsgBox("KM de Chegada deve ser maior que a KM de Saída", MsgBoxStyle.Critical, "Erro")
                txtKMChegada.Text = ""
                txtKMChegada.Focus()
            End If
        End If
    End Sub

    Private Sub txtKMSaida_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKMSaida.Leave
        If (txtKMChegada.Text <> "" And txtKMSaida.Text <> "") Then
            If (Integer.Parse(txtKMChegada.Text) <= Integer.Parse(txtKMSaida.Text)) Then
                MsgBox("KM de Saída deve ser menor que a KM de Chegada", MsgBoxStyle.Critical, "Erro")
                txtKMSaida.Text = ""
                txtKMSaida.Focus()
            End If
        End If
    End Sub

    Private Sub txtDiversos_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtDiversos.KeyUp
        If (txtDiversos.Text <> "") Then
            txtDescricaoDiversos.ReadOnly = False
        Else
            txtDescricaoDiversos.ReadOnly = True
        End If

        Dim valorAlmoco, valorJantar, valorHotel, valorDiversos, valor As Double
        If (txtAlmoco.Text <> "") Then
            valorAlmoco = Double.Parse(txtAlmoco.Text)
        Else
            valorAlmoco = 0
        End If

        If (txtJantar.Text <> "") Then
            valorJantar = Double.Parse(txtJantar.Text)
        Else
            valorJantar = 0
        End If

        If (txtDiversos.Text <> "") Then
            valorDiversos = Double.Parse(txtDiversos.Text)
        Else
            valorDiversos = 0
        End If
        If (txtHotel.Text <> "") Then
            valorHotel = Double.Parse(txtHotel.Text)
        Else
            valorHotel = 0
        End If

        valor = valorHotel + valorAlmoco + valorJantar + valorDiversos

        If (valor <> 0) Then
            txtSubTotalPessoal.Text = valor.ToString()
        Else
            txtSubTotalPessoal.Text = ""
        End If
    End Sub

    Private Sub txtAlmoco_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAlmoco.KeyPress
        If Asc(e.KeyChar) = 3 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 22 Or Asc(e.KeyChar) = 24 Then
            Exit Sub
        End If

        If Not Char.IsNumber(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

    Private Sub txtJantar_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtJantar.KeyPress
        If Asc(e.KeyChar) = 3 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 22 Or Asc(e.KeyChar) = 24 Then
            Exit Sub
        End If

        If Not Char.IsNumber(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

    Private Sub txtDiversos_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDiversos.KeyPress
        If Asc(e.KeyChar) = 3 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 22 Or Asc(e.KeyChar) = 24 Then
            Exit Sub
        End If

        If Not Char.IsNumber(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

    Private Sub txtHotel_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtHotel.KeyPress
        If Asc(e.KeyChar) = 3 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 22 Or Asc(e.KeyChar) = 24 Then
            Exit Sub
        End If

        If Not Char.IsNumber(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

    Private Sub txtAlmoco_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtAlmoco.KeyUp
        Dim valorAlmoco, valorJantar, valorHotel, valorDiversos, valor As Double
        If (txtAlmoco.Text <> "") Then
            valorAlmoco = Double.Parse(txtAlmoco.Text)
        Else
            valorAlmoco = 0
        End If

        If (txtJantar.Text <> "") Then
            valorJantar = Double.Parse(txtJantar.Text)
        Else
            valorJantar = 0
        End If

        If (txtDiversos.Text <> "") Then
            valorDiversos = Double.Parse(txtDiversos.Text)
        Else
            valorDiversos = 0
        End If
        If (txtHotel.Text <> "") Then
            valorHotel = Double.Parse(txtHotel.Text)
        Else
            valorHotel = 0
        End If

        valor = valorHotel + valorAlmoco + valorJantar + valorDiversos

        If (valor <> 0) Then
            txtSubTotalPessoal.Text = valor.ToString()
        Else
            txtSubTotalPessoal.Text = ""
        End If
    End Sub

    Private Sub txtJantar_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtJantar.KeyUp
        Dim valorAlmoco, valorJantar, valorHotel, valorDiversos, valor As Double
        If (txtAlmoco.Text <> "") Then
            valorAlmoco = Double.Parse(txtAlmoco.Text)
        Else
            valorAlmoco = 0
        End If

        If (txtJantar.Text <> "") Then
            valorJantar = Double.Parse(txtJantar.Text)
        Else
            valorJantar = 0
        End If

        If (txtDiversos.Text <> "") Then
            valorDiversos = Double.Parse(txtDiversos.Text)
        Else
            valorDiversos = 0
        End If
        If (txtHotel.Text <> "") Then
            valorHotel = Double.Parse(txtHotel.Text)
        Else
            valorHotel = 0
        End If

        valor = valorHotel + valorAlmoco + valorJantar + valorDiversos

        If (valor <> 0) Then
            txtSubTotalPessoal.Text = valor.ToString()
        Else
            txtSubTotalPessoal.Text = ""
        End If
    End Sub

    Private Sub txtHotel_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtHotel.KeyUp
        Dim valorAlmoco, valorJantar, valorHotel, valorDiversos, valor As Double
        If (txtAlmoco.Text <> "") Then
            valorAlmoco = Double.Parse(txtAlmoco.Text)
        Else
            valorAlmoco = 0
        End If

        If (txtJantar.Text <> "") Then
            valorJantar = Double.Parse(txtJantar.Text)
        Else
            valorJantar = 0
        End If

        If (txtDiversos.Text <> "") Then
            valorDiversos = Double.Parse(txtDiversos.Text)
        Else
            valorDiversos = 0
        End If
        If (txtHotel.Text <> "") Then
            valorHotel = Double.Parse(txtHotel.Text)
        Else
            valorHotel = 0
        End If

        valor = valorHotel + valorAlmoco + valorJantar + valorDiversos

        If (valor <> 0) Then
            txtSubTotalPessoal.Text = valor.ToString()
        Else
            txtSubTotalPessoal.Text = ""
        End If
    End Sub

    Private Sub btPesquisaLotacao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btPesquisaLotacao.Click
        Try

            Dim frm As New frm_consultas
            objBLL = New EntregasBLL
            frm.tipo = "lotação"
            frm.ShowDialog()

            If (frm.codigo <> 0) Then
                objBLL.atualizaEmTransito(frm.codigo)
                executaMetodos(frm.codigo)
            End If
            frm = Nothing
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "Erro")
        End Try
    End Sub

    Sub executaMetodos(ByVal codigo As Integer)
        limparFormulario()

        objBLL.carrega(codigo)
        If (objBLL.pStatusLotacao = "Aberto") Then
            Status(False)
        Else
            Status(True)
        End If
        limpar()
        carrega_campos()
    End Sub
    Sub executaMetodosEntrega(ByVal codigo As Integer)
        limparFormulario()

        objBLL.localizar(codigo)
        carregaFormulario()
        objBLL.carrega(objBLL.pLotacao)
        If (objBLL.pStatusLotacao = "Aberto") Then
            Status(False)
        Else
            Status(True)
        End If
        limpar()
        carrega_campos()
    End Sub
    Public Sub atualizaConteudo()
        Try
            'criar as colunas da tabela
            tab.Columns.Add("car_codigo", GetType(Integer))
            tab.Columns.Add("car_protocolo", GetType(String))
            tab.Columns.Add("car_status", GetType(Integer))
            'associar a tabela a grid
            dgConteudo.DataSource = tab
            dgConteudo.Font = New Font("Calibri", 9)
            dgConteudo.Columns(0).HeaderText = "Codigo Carga"
            dgConteudo.Columns(0).Width = 100
            dgConteudo.Columns(1).HeaderText = "Protocolo Carga"
            dgConteudo.Columns(1).Width = 240
            dgConteudo.Columns(2).HeaderText = "Cód. Status Carga"
            dgConteudo.Columns(2).Width = 100
            dgConteudo.RowHeadersVisible = False
            dgConteudo.AllowUserToAddRows = False
            dgConteudo.ReadOnly = True

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    Sub carrega_campos()
        Try
            If (objBLL.pLotacao <> 0) Then
                If (objBLL.pCodigo = 0) Then
                    txtCodEntrega.Text = ""
                Else
                    txtCodEntrega.Text = objBLL.pCodigo.ToString()
                End If
                txtCodLotacao.Text = objBLL.pLotacao
                txtStatusEntrega.Text = objBLL.pStatusLotacao
                'carregar datatable de acordo com a lista
                Dim linha As DataRow
                Dim cod As String
                cod = "Código"
                For Each obj As EntregasBLL In objBLL.plItensConsumo
                    linha = tab.NewRow
                    linha("car_codigo") = obj.pcodCarga
                    linha("car_protocolo") = obj.pProtocolo
                    linha("car_status") = obj.pStatus
                    tab.Rows.Add(linha)
                    tab.AcceptChanges()
                Next
            Else
                limpar()
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub frm_movimentacao_escalaoperacoes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        atualizaConteudo()
        Status(True)
    End Sub

    Private Sub btTodosEntregues_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btTodosEntregues.Click
        Try
            objBLL = New EntregasBLL
            If (txtCodLotacao.Text <> "" And txtStatusEntrega.Text = "Aberto") Then
                If (MessageBox.Show("Deseja realmente alterar todas as Cargas para Entregue ao Destinatário?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    objBLL.todosEntregue(Integer.Parse(txtCodLotacao.Text), 4)
                    objBLL.carrega(Integer.Parse(txtCodLotacao.Text))
                    limpar()
                    carrega_campos()
                End If

            End If
            
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub btTodosDevolvidos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btTodosDevolvidos.Click
        Try
            objBLL = New EntregasBLL
            If (txtCodLotacao.Text <> "" And txtStatusEntrega.Text = "Aberto") Then
                If (MessageBox.Show("Deseja realmente alterar todas as Cargas para Devolvido ao Remetende?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    objBLL.todosEntregue(Integer.Parse(txtCodLotacao.Text), 7)
                    objBLL.carrega(Integer.Parse(txtCodLotacao.Text))
                    limpar()
                    carrega_campos()
                End If
            End If
            
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub btTodosAvaria_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btTodosAvaria.Click
        Try
            objBLL = New EntregasBLL
            If (txtCodLotacao.Text <> "" And txtStatusEntrega.Text = "Aberto") Then
                If (MessageBox.Show("Deseja realmente alterar todas as Cargas para Devolvido por Avaria?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    objBLL.todosEntregue(Integer.Parse(txtCodLotacao.Text), 6)
                    objBLL.carrega(Integer.Parse(txtCodLotacao.Text))
                    limpar()
                    carrega_campos()
                End If
            End If
            
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub bt_entrega_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_entrega.Click
        Try
            objBLL = New EntregasBLL
            If (txtCodLotacao.Text <> "" And txtStatusEntrega.Text = "Aberto") Then
                If (MessageBox.Show("Deseja alterar o Status da Carga " + dgConteudo.CurrentRow.Cells(1).Value + " ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    objBLL.cargaEntregue(4, Integer.Parse(dgConteudo.CurrentRow.Cells(0).Value))
                    objBLL.carrega(Integer.Parse(txtCodLotacao.Text))
                    limpar()
                    carrega_campos()
                End If
            End If

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub btDevolvido_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btDevolvido.Click
        Try
            objBLL = New EntregasBLL
            If (txtCodLotacao.Text <> "" And txtStatusEntrega.Text = "Aberto") Then
                If (MessageBox.Show("Deseja alterar o Status da Carga " + dgConteudo.CurrentRow.Cells(1).Value + " ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    objBLL.cargaEntregue(7, Integer.Parse(dgConteudo.CurrentRow.Cells(0).Value))
                    objBLL.carrega(Integer.Parse(txtCodLotacao.Text))
                    limpar()
                    carrega_campos()
                End If
            End If

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub btAvaria_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAvaria.Click
        Try
            objBLL = New EntregasBLL
            If (txtCodLotacao.Text <> "" And txtStatusEntrega.Text = "Aberto") Then
                If (MessageBox.Show("Deseja alterar o Status da Carga " + dgConteudo.CurrentRow.Cells(1).Value + " ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    objBLL.cargaEntregue(6, Integer.Parse(dgConteudo.CurrentRow.Cells(0).Value))
                    objBLL.carrega(Integer.Parse(txtCodLotacao.Text))
                    limpar()
                    carrega_campos()
                End If
            End If

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub txtEntrega_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEntrega.Leave
        If (txtEntrega.Text <> "  /  /") Then
            If (Not IsDate(txtEntrega.Text)) Then
                MsgBox("Insira uma Data Válida!")
                txtEntrega.Text = ""
                txtEntrega.Focus()
                Exit Sub
            End If

            If (Date.Parse(txtEntrega.Text) > Date.Now()) Then
                MsgBox("Data de Entrega deve ser menor ou igual a data atual!")
                txtEntrega.Text = ""
                txtEntrega.Focus()
                Exit Sub
            End If

            If (txtRetorno.Text <> "  /  /") Then
                If (Date.Parse(txtEntrega.Text) > Date.Parse(txtRetorno.Text)) Then
                    MsgBox("Data de Entrega deve ser menor ou igual a Data de Retorno!")
                    txtEntrega.Text = ""
                    txtEntrega.Focus()
                    Exit Sub
                End If
            End If
            
        End If
        
    End Sub

    Private Sub txtRetorno_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtRetorno.Leave
        If (txtRetorno.Text <> "  /  /") Then
            If (Not IsDate(txtRetorno.Text)) Then
                MsgBox("Insira uma Data Válida!")
                txtRetorno.Text = ""
                txtRetorno.Focus()
                Exit Sub
            End If

            If (Date.Parse(txtRetorno.Text) > Date.Now()) Then
                MsgBox("Data de Retorno deve ser menor ou igual a data atual!")
                txtRetorno.Text = ""
                txtRetorno.Focus()
                Exit Sub
            End If
            If (txtEntrega.Text <> "  /  /") Then
                If (Date.Parse(txtRetorno.Text) < Date.Parse(txtEntrega.Text)) Then
                    MsgBox("Data de Retorno deve ser maior ou igual a Data de Entrega!")
                    txtRetorno.Text = ""
                    txtRetorno.Focus()
                    Exit Sub
                End If
            End If
           
        End If
    End Sub

    Private Sub btFinalizar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btFinalizar1.Click
        Try

            For Each obj As EntregasBLL In objBLL.plItensConsumo
                If (obj.pStatus.ToString() = "3") Then
                    MsgBox("Entrega não pode ser Finalizada, pois possui Cargas Em Trânsito!")
                    Exit Sub
                End If
            Next
            objBLL = New EntregasBLL
            If (txtEntrega.Text = "  /  /") Then
                MsgBox("Data de Entrega deve ser preenchida!")
                Exit Sub
            End If
            If (txtRetorno.Text = "  /  /") Then
                MsgBox("Data de Retorno deve ser preenchida!")
                Exit Sub
            End If
            If (txtKMPercorrido.Text = "") Then
                MsgBox("Informe a Kilometragem de Saída e Chegada na Aba 'Despesas com Veículo'")
                Exit Sub
            End If
            If (txtSubTotalPessoal.Text = "" And txtSubTotalVeiculo.Text = "") Then
                If (MessageBox.Show("Não foram informadas as despesas do motorista e do veículo, deseja finalizar mesmo assim ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    carregaPropriedades()
                    objBLL.inserir()
                    MsgBox("Finalizado com sucesso!")
                    executaMetodos(objBLL.pCodigo)
                    Exit Sub
                End If
            ElseIf (txtSubTotalPessoal.Text = "") Then
                If (MessageBox.Show("Não foram informadas as despesas do motorista, deseja finalizar mesmo assim ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    carregaPropriedades()
                    objBLL.inserir()
                    MsgBox("Finalizado com sucesso!")
                    executaMetodosEntrega(objBLL.pCodigo)
                    Exit Sub
                End If
            ElseIf (txtSubTotalVeiculo.Text = "") Then
                If (MessageBox.Show("Não foram informadas as despesas do veículo, deseja finalizar mesmo assim ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    carregaPropriedades()
                    objBLL.inserir()
                    MsgBox("Finalizado com sucesso!")
                    executaMetodosEntrega(objBLL.pCodigo)
                    Exit Sub
                End If
            Else
                carregaPropriedades()
                objBLL.inserir()
                MsgBox("Finalizado com sucesso!")
                executaMetodosEntrega(objBLL.pCodigo)

            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        
    End Sub

    Private Sub btFinalizarPessoal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btFinalizarPessoal.Click
        Try

            For Each obj As EntregasBLL In objBLL.plItensConsumo
                If (obj.pStatus.ToString() = "3") Then
                    MsgBox("Entrega não pode ser Finalizada, pois possui Cargas Em Trânsito!")
                    Exit Sub
                End If
            Next
            objBLL = New EntregasBLL
            If (txtEntrega.Text = "  /  /") Then
                MsgBox("Data de Entrega deve ser preenchida!")
                Exit Sub
            End If
            If (txtRetorno.Text = "  /  /") Then
                MsgBox("Data de Retorno deve ser preenchida!")
                Exit Sub
            End If
            If (txtKMPercorrido.Text = "") Then
                MsgBox("Informe a Kilometragem de Saída e Chegada na Aba 'Despesas com Veículo'")
                Exit Sub
            End If
            If (txtSubTotalPessoal.Text = "" And txtSubTotalVeiculo.Text = "") Then
                If (MessageBox.Show("Não foram informadas as despesas do motorista e do veículo, deseja finalizar mesmo assim ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    carregaPropriedades()
                    objBLL.inserir()
                    MsgBox("Finalizado com sucesso!")
                    executaMetodos(objBLL.pCodigo)
                    Exit Sub
                End If
            ElseIf (txtSubTotalPessoal.Text = "") Then
                If (MessageBox.Show("Não foram informadas as despesas do motorista, deseja finalizar mesmo assim ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    carregaPropriedades()
                    objBLL.inserir()
                    MsgBox("Finalizado com sucesso!")
                    executaMetodosEntrega(objBLL.pCodigo)
                    Exit Sub
                End If
            ElseIf (txtSubTotalVeiculo.Text = "") Then
                If (MessageBox.Show("Não foram informadas as despesas do veículo, deseja finalizar mesmo assim ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    carregaPropriedades()
                    objBLL.inserir()
                    MsgBox("Finalizado com sucesso!")
                    executaMetodosEntrega(objBLL.pCodigo)
                    Exit Sub
                End If
            Else
                carregaPropriedades()
                objBLL.inserir()
                MsgBox("Finalizado com sucesso!")
                executaMetodosEntrega(objBLL.pCodigo)

            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

    Private Sub btFinalizarVeiculo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btFinalizarVeiculo.Click
        Try

            For Each obj As EntregasBLL In objBLL.plItensConsumo
                If (obj.pStatus.ToString() = "3") Then
                    MsgBox("Entrega não pode ser Finalizada, pois possui Cargas Em Trânsito!")
                    Exit Sub
                End If
            Next
            objBLL = New EntregasBLL
            If (txtEntrega.Text = "  /  /") Then
                MsgBox("Data de Entrega deve ser preenchida!")
                Exit Sub
            End If
            If (txtRetorno.Text = "  /  /") Then
                MsgBox("Data de Retorno deve ser preenchida!")
                Exit Sub
            End If
            If (txtKMPercorrido.Text = "") Then
                MsgBox("Informe a Kilometragem de Saída e Chegada na Aba 'Despesas com Veículo'")
                Exit Sub
            End If
            If (txtSubTotalPessoal.Text = "" And txtSubTotalVeiculo.Text = "") Then
                If (MessageBox.Show("Não foram informadas as despesas do motorista e do veículo, deseja finalizar mesmo assim ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    carregaPropriedades()
                    objBLL.inserir()
                    MsgBox("Finalizado com sucesso!")
                    executaMetodos(objBLL.pCodigo)
                    Exit Sub
                End If
            ElseIf (txtSubTotalPessoal.Text = "") Then
                If (MessageBox.Show("Não foram informadas as despesas do motorista, deseja finalizar mesmo assim ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    carregaPropriedades()
                    objBLL.inserir()
                    MsgBox("Finalizado com sucesso!")
                    executaMetodosEntrega(objBLL.pCodigo)
                    Exit Sub
                End If
            ElseIf (txtSubTotalVeiculo.Text = "") Then
                If (MessageBox.Show("Não foram informadas as despesas do veículo, deseja finalizar mesmo assim ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
                    carregaPropriedades()
                    objBLL.inserir()
                    MsgBox("Finalizado com sucesso!")
                    executaMetodosEntrega(objBLL.pCodigo)
                    Exit Sub
                End If
            Else
                carregaPropriedades()
                objBLL.inserir()
                MsgBox("Finalizado com sucesso!")
                executaMetodosEntrega(objBLL.pCodigo)

            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

    Private Sub btPesquisaEntrega_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btPesquisaEntrega.Click
        Try

            Dim frm As New frm_consultas
            objBLL = New EntregasBLL
            frm.tipo = "entregas"
            frm.ShowDialog()

            If (frm.codigo <> 0) Then
                executaMetodosEntrega(frm.codigo)
            End If
            frm = Nothing
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "Erro")
        End Try
    End Sub

    Private Sub btAjuda_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAjuda.Click
        Dim Ajuda As String
        Ajuda = Application.StartupPath
        Ajuda = Ajuda.Replace("\bin\Debug", "\Arquivo de Ajuda\index.html#MovEscalaOperacoes")
        Dim Ie As Object
        Ie = CreateObject("InternetExplorer.Application")
        Ie.Visible = True
        Ie.Navigate(Ajuda)
    End Sub
End Class